The present invention relates to data communications equipment, e.g., modems. In particular, this invention relates to the transmission of both voice and data signals over the same communications facility at the same time.
Generally speaking, a modem processes a data signal to provide a modulated signal for transmission over a communications channel, like the public switched telephone network (PSTN), to a far-end modem, or receiving modem. While any modulation scheme may be used to generate the modulated signal, typically the modulated signal is the result of quadrature amplitude modulation (QAM). This modulated signal represents a sequence of data symbols, where each data symbol is a selected signal point from a constellation signal space. In this approach, there is a predefined minimum spacing between data symbols. This minimum spacing, or separation, is directly related to the desired error margin of the data communications system. The desired error margin is the acceptable level of noise in the communications system. For example, when the modulated signal is received by the far-end modem, the value of each received signal point is typically different from the transmitted signal point values, each of which was associated with a data symbol. This change in the signal point value is the result of noise introduced by the communications channel. As a result, the receiving modem performs a "slicing" operation on each received signal point of the sequence. This slicing operation simply estimates the closest data symbol to the received signal point. This is also known as a "hard decision." As long as the noise from the communications channel is less than the acceptable error margin the receiving modem will always correctly estimate the transmitted data symbol.
However, when the noise from the communications channel is greater than the error margin, the receiving modem begins to make incorrect "hard decisions" about individual ones of the transmitted sequence of data symbols. An incorrect hard decision, or "hard error," occurs if an amount of noise greater than the error margin is added to a transmitted data symbol so that the received signal point is now closer to a data symbol that is different from the transmitted data symbol-with the result that the receiving modem erroneously picks the wrong data symbol. As a result, error correcting techniques are typically used to further encode the information so that the receiving modem can recover to an extent from any hard errors induced by the communications channel.
For example, one error correcting technique is a channel encoding scheme like trellis coding. Here, the transmitting modem selects data symbols not only as a function of the current value of the data signal in any time interval, but also as a function of antecedent values of the data signal. In other words, a trellis coding scheme is a form of convolutional code. As a result, the receiving modem not only performs a slicing operation but also executes a channel decoding operation. In particular, the receiving modem not only makes a hard decision for each received signal point, but also looks at antecedent hard decisions in order to estimate the current data symbol. The number of data symbols stored before making a decision about a particular data symbol is typically referred to as the "decoding depth." Overall, channel encoding techniques allow data communications to occur notwithstanding the fact that the noise from the communications channel is greater than the allowable error margin.
The co-pending, commonly assigned, U.S. patent application of Gordon Bremer and Kenneth D. Ko entitled "Simultaneous Analog and Digital Communication," serial No. XXXXX, filed on XXXXX, discloses a simultaneous voice and data communication system in which a representation of a voice signal, or second signal, is added to each data symbol for transmission over a communications channel to a receiving modem. In particular, the data symbol is a reference signal point value to which is added a voice signal vector, which represents the voice signal. The addition of the voice signal vector to the data symbol results in a signal point being selected that is a function of both the selected data symbol and the size of the voice signal vector.
The selected signal point is taken from a constellation signal space that is divided into a number of non-overlapping regions, each region being associated with a data symbol. Consequently, any signal point value within a region may be validly selected for transmission to a receiving modem. Since each signal point region is non-overlapping, the voice signal vector is constrained to be of a certain maximum size, or dynamic range, so that the selected signal point for transmission always lies within the selected region, which is determined by the selected data symbol.
Unfortunately, the quality of the transmitted voice signal is directly related to the allowable dynamic range of the voice signal vector. Consequently, any restriction on the dynamic range also limits the ability to improve the quality of any voice transmission.